Nearly all processes or workflows in an enterprise environment (e.g., manufacturing processes) are rather complex. For example the assembly of a car requires a precise coordination of a multitude of manufacturing steps. Individual parts (e.g., the car wings, the motor or the mirrors) are typically produced at different locations wherein the production of each part requires in turn a complex assembly. The parts are then shipped to another location where the final assembly of the car takes place. The overall process comprises not only manufacturing steps but also other essential actions such as ordering of raw materials and pre-fabricated components as well as logistical tasks like managing stock or even the preparation of invoices.
Over the years, information technology has become indispensable for the control of such complex processes. A particularly well-known and powerful tool for analyzing and modeling industrial processes is ARIS (Architecture of Integrated Information Systems) of applicant.
However, it turns out that the representation of a real world process by a software process alone is in many cases insufficient without the possibility to flexibly adapt the software process. A process may have to be modified for several reasons. For instance, a technical advance or change of design may require different steps or a change of a sequence of certain steps. Also, certain rules underlying steps of a process may have to be changed. Moreover, errors could occur which might result in a mis-configured, incomplete or even insecure product. Such errors may be detected by supervising instances of a process. For example, a technical analyst may monitor multiple instances of a car assembly in an assembly line and identify several related problems.
In this case, the analyst may want to modify the real world process, rules underlying the process and its representation in the controlling IT process by adding, modifying or correcting one or more steps. This requires an adaptation of the respective source code. Thus, the analyst must provide a competent software engineer with a detailed description of the problem(s) enabling the software engineer to modify the source code.
In this regard, the US patent application publication 2007/0100994 A1 discloses the modeling of interactions with a computer system. It describes a method for identifying one or more states encountered during an interaction session based on collected information and the step of generating a trace of the interaction session based on the states encountered during the interaction session.
However, even if such states, traces or other details are provided, the analyst does not know the exact part of the source code, e.g., belonging to a certain rule which has to be modified. This problem could even increase if the software is distributed over several host computers. As a result, the software engineer may misunderstand the analyst and modify the source code in a different manner than intended by the analyst so that the resulting process is even less capable to correct the controlled workflow.
It is therefore the technical problem underlying the present invention to overcome these disadvantages at least in part, i.e., to improve the identification of problems of a process such that they can be solved in a more efficient, safer and more reliable manner compared to the prior art.